AJAX এর মাধ্যমে ফর্ম সাবমিট করা

Web Development - এএসপি ডট (ASP.Net) - ফর্ম হ্যান্ডলিং এবং ভ্যালিডেশন |
1
1

AJAX (Asynchronous JavaScript and XML) হল একটি প্রযুক্তি যা ব্যবহারকারীর ইন্টারফেসের সাথে সিঙ্ক্রোনাস রিফ্রেশ ছাড়াই ডেটা পাঠানো এবং গ্রহণ করার সুযোগ দেয়। ASP.Net অ্যাপ্লিকেশনে AJAX ব্যবহার করে ফর্ম সাবমিট করা একটি জনপ্রিয় পদ্ধতি, কারণ এটি ব্যবহারকারীর অভিজ্ঞতা উন্নত করে এবং পেজ রিফ্রেশ ছাড়াই ডেটা প্রসেসিং করে।

এখানে, ASP.Net এ AJAX ব্যবহার করে ফর্ম সাবমিট করার প্রক্রিয়া ব্যাখ্যা করা হলো।


১. ASP.Net অ্যাপে AJAX সেটআপ

ASP.Net এ AJAX ব্যবহারের জন্য, আপনাকে AJAX Control Toolkit অথবা jQuery AJAX ব্যবহার করতে হবে। এখানে আমরা jQuery AJAX এর মাধ্যমে ফর্ম সাবমিট করার প্রক্রিয়া দেখব, যেটি সহজ এবং জনপ্রিয় পদ্ধতি।

jQuery AJAX ব্যবহার করে ফর্ম সাবমিট

  1. jQuery যুক্ত করা: প্রথমে আপনাকে আপনার ভিউ ফাইলে jQuery লাইব্রেরি যুক্ত করতে হবে। এটি সাধারণত Layout.cshtml বা সংশ্লিষ্ট ভিউতে করা হয়।

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    
  2. HTML ফর্ম তৈরি করা: একটি সাধারণ HTML ফর্ম তৈরি করুন, যেখানে ব্যবহারকারী ডেটা ইনপুট করবে।

    <form id="myForm">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" />
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" />
        <button type="submit" id="submitBtn">Submit</button>
    </form>
    
    <div id="responseMessage"></div>
    
  3. jQuery AJAX কোড লিখুন: submit ইভেন্টের মাধ্যমে AJAX কল তৈরি করা হয়। এখানে আপনি AJAX রিকোয়েস্ট পাঠাবেন, এবং রেসপন্স পাওয়ার পর সেই রেসপন্স ডেটা ব্যবহারকারীর কাছে দেখাবেন।

    <script>
        $(document).ready(function () {
            $("#myForm").submit(function (event) {
                event.preventDefault();  // ফর্মের ডিফল্ট সাবমিশন ব্লক করা
                
                // ফর্ম ডেটা সংগ্রহ
                var formData = $(this).serialize();
    
                // AJAX কল
                $.ajax({
                    url: '/Home/SubmitForm',  // কন্ট্রোলারের অ্যাকশন মেথড
                    type: 'POST',
                    data: formData,
                    success: function (response) {
                        // রেসপন্স পাওয়ার পর কিছু করুন
                        $("#responseMessage").html(response);  // রেসপন্স ডেটা ভিউতে দেখানো
                    },
                    error: function () {
                        $("#responseMessage").html("There was an error processing your request.");
                    }
                });
            });
        });
    </script>
    

এখানে, আমরা submit ইভেন্টের মাধ্যমে AJAX কল করছি। serialize() ফাংশন ব্যবহার করে ফর্মের ডেটা সংগ্রহ করা হচ্ছে এবং POST রিকোয়েস্টের মাধ্যমে সার্ভারে পাঠানো হচ্ছে। সার্ভার থেকে সাড়া পাওয়ার পর, সেই সাড়া ব্যবহারকারীর কাছে প্রদর্শিত হবে।


২. কন্ট্রোলার অ্যাকশন তৈরি করা

এখন ASP.Net কন্ট্রোলারে একটি অ্যাকশন মেথড তৈরি করতে হবে, যা AJAX রিকোয়েস্ট গ্রহণ করবে এবং ডেটা প্রসেস করবে।

কন্ট্রোলার (HomeController.cs):

public class HomeController : Controller
{
    [HttpPost]
    public IActionResult SubmitForm(string name, string email)
    {
        // ডেটা প্রসেসিং করতে পারেন এখানে
        if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(email))
        {
            return Json("Please fill in all fields.");
        }
        
        // সফল হলে, প্রোফাইল পৃষ্ঠায় বা অন্য কোথাও রিডিরেক্ট বা মেসেজ পাঠাতে পারেন
        return Json("Form submitted successfully! Name: " + name + ", Email: " + email);
    }
}

এখানে, আমরা SubmitForm অ্যাকশন মেথড তৈরি করেছি যা name এবং email প্যারামিটার গ্রহণ করে। সফলভাবে ডেটা প্রক্রিয়া হলে, এটি একটি JSON রেসপন্স পাঠাবে।


৩. ফর্ম সাবমিট হওয়ার পর রেসপন্স প্রদর্শন

যখন ফর্ম সাবমিট করা হবে, তখন AJAX কল সার্ভারে পৌঁছাবে এবং SubmitForm অ্যাকশন মেথডে ডেটা যাবে। রেসপন্স সঠিকভাবে পাওয়ার পর, সেই রেসপন্স ডেটা #responseMessage ডিভে প্রদর্শিত হবে।


৪. সম্পূর্ণ উদাহরণ

HTML + jQuery:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>AJAX Form Submit</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>

    <form id="myForm">
        <label for="name">Name:</label>
        <input type="text" id="name" name="name" required />
        <label for="email">Email:</label>
        <input type="email" id="email" name="email" required />
        <button type="submit" id="submitBtn">Submit</button>
    </form>

    <div id="responseMessage"></div>

    <script>
        $(document).ready(function () {
            $("#myForm").submit(function (event) {
                event.preventDefault();
                var formData = $(this).serialize();

                $.ajax({
                    url: '/Home/SubmitForm',
                    type: 'POST',
                    data: formData,
                    success: function (response) {
                        $("#responseMessage").html(response);
                    },
                    error: function () {
                        $("#responseMessage").html("There was an error processing your request.");
                    }
                });
            });
        });
    </script>

</body>
</html>

C# Controller:

public class HomeController : Controller
{
    [HttpPost]
    public IActionResult SubmitForm(string name, string email)
    {
        if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(email))
        {
            return Json("Please fill in all fields.");
        }

        return Json("Form submitted successfully! Name: " + name + ", Email: " + email);
    }
}

সারাংশ

AJAX ব্যবহার করে ফর্ম সাবমিট করার মাধ্যমে পেজ রিফ্রেশ ছাড়াই ডেটা প্রেরণ এবং গ্রহণ করা সম্ভব। jQuery AJAX কোডের মাধ্যমে, ফর্ম ডেটা সঠিকভাবে প্রসেস করা হয় এবং ব্যবহারকারীকে সাড়া প্রদান করা হয়, যা একযোগে একটি চমৎকার ইন্টারঅ্যাকটিভ ওয়েব অ্যাপ্লিকেশন তৈরি করতে সাহায্য করে।

Content added By
Promotion